package n1;

import lombok.extern.slf4j.Slf4j;

import java.io.ObjectInputStream;

/**
 * 多个线程 交替运行 【底层核心 是控制不了的，由底层任务调度器决定的】
 */
@Slf4j(topic = "c.T3_Alternate")
public class T3_Alternate {

    public static void main(String[] args) {

        new Thread(() -> {
            while(true){
//                try {
//                    Thread.sleep(2000);
//                } catch (InterruptedException e) {
//                    e.printStackTrace();
//                }
                log.debug("running...111111");
            }
        },"T1").start();

        new Thread(() -> {
            while(true){
//                try {
//                    Thread.sleep(2000);
//                } catch (InterruptedException e) {
//                    e.printStackTrace();
//                }
                log.debug("running...222222");
            }
        },"T2").start();

    }


    /**
     * 多线程运行  【注意断点模式：Thread】
     *  主要说明：线程栈内存 栈帧是相互独立的
     */

    static class TestFrames{

        public static void main(String[] args) {
            Thread t1 = new Thread(){
                @Override
                public void run() {
                    method1(20);
                }
            };
            t1.setName("t1");
            t1.start();
            method1(10);
        }

        private static void method1(int x){
            int y = x + 1;
            Object m = method2();
            log.debug(m.toString());
        }

        private static Object method2(){
            Object n = new Object();
            return n;
        }





    }



}
